In the computing space, a sequence of disparate applications may work in concerted effort to process a transaction from one end to another. In traditional methods for conducting the end-to-end transaction, the applications must typically be configured to communicate directly with the next node in the sequence. This traditional processing mode introduces a number of technical problems. First, if the end-to-end transaction were to fail at one of the applications in the ordered sequence, the end-to-end transaction must be retried starting from the very first step at the first application in the sequence in the absence of a recovery system. Traditional recovery systems may further introduce technical issues, due to the replication of data amongst the disparate applications that is necessary to conduct transaction recovery; the applications increase in size and have synchronization issues with one another, causing a waste of computing resources and network bandwidth. Furthermore, a modification to the functioning of one application in the sequence may necessitate modifying the application code of the adjacent nodes to ensure compatibility.
Accordingly, there is a need for an efficient way to conduct recovery of an end-to-end transaction that allows for state-specific transaction recovery while minimizing duplication of data, thereby increasing computing efficiency.